
Enviado em 12/03/2012 - 18:57h
Boa noite gente,
<?php
if ($argc != 3) {
print "USO: php tratamento_final.php <arquivo de log insercao> <relatorio dos nao inseridos> \n\n";
exit(0);
}
ini_set("auto_detect_line_endings", true);
$log = fopen($argv[1], "r") or die($argv[1]." está inacessivel.");
$relatorio = file_get_contents($argv[2]) or die($argv[2]." está inacessivel.");
if ($log && $relatorio) {
while (!feof($log)) {
$linha = fgets($log, 4096);
//busca por erro de parametro
$busca = strpos($linha, "ERROR");
if ($busca) {
$erro = str_replace("\r\n",";",trim(strstr($linha, "Erro nos parametros")));
$dslam = substr(strstr($linhaAnterior, "DSLAM: "), 7, 15);
$porta = substr(strstr($linhaAnterior, "Porta: "), 7, 11);
$relatorio = str_replace($dslam.";".$porta.";1;1;;", $dslam.";".$porta.";1;1;;".$erro, $relatorio);
file_put_contents($argv[2], $relatorio);
}
//busca por erro de TransactionException
$busca = strpos($linha, "TransactionException");
if ($busca) {
$codErro = "-4";
$erro = str_replace("\r\n",";",trim(strstr($linha, "Erro WDT:")));
$dslam = substr(strstr($linhaAnterior, "DSLAM: "), 7, 15);
$porta = substr(strstr($linhaAnterior, "Porta: "), 7, 11);
$relatorio = str_replace($dslam.";".$porta.";1;1;;", $dslam.";".$porta.";1;1;".$codErro.";".$erro, $relatorio);
file_put_contents($argv[2], $relatorio);
}
//busca por erro 301
$busca = strpos($linha, "Falha ao consultar DSLAM");
if ($busca) {
$codErro = "-4";
$erro = str_replace("\r\n",";",trim(strstr($linha, "Erro WDT:")));
$dslam = substr(strstr($linhaAnterior, "DSLAM: "), 7, 15);
$porta = substr(strstr($linhaAnterior, "Porta: "), 7, 11);
$relatorio = str_replace($dslam.";".$porta.";1;1;;", $dslam.";".$porta.";1;1;".$codErro.";".$erro, $relatorio);
file_put_contents($argv[2], $relatorio);
}
$linhaAnterior = $linha;
}
}
?>
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux









